package com.ac.api.production_order.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 生产订单主表
 * </p>
 *
 * @author dc
 * @since 2025-06-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ProductionOrder", description="生产订单主表")
public class ProductionOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "订单唯一编号")
    @TableId(value = "order_id", type = IdType.AUTO)
    private Integer orderId;

    @ApiModelProperty(value = "产品型号（如LED灯型号）")
    private String productModel;

    @ApiModelProperty(value = "订单数量")
    private Integer quantity;

    @ApiModelProperty(value = "色温分组（2700K-6500K）")
    private String colorTemp;

    @ApiModelProperty(value = "订单开始日期")
    private LocalDateTime begintime;

    @ApiModelProperty(value = "交货期(订单结束日期)")
    private LocalDateTime endtime;

    @ApiModelProperty(value = "优先级（0普通，1紧急）")
    private String priority;

    @ApiModelProperty(value = "订单状态")
    private String status;

    @ApiModelProperty(value = "客户名字")
    @TableField("Customer")
    private String Customer;

    @ApiModelProperty(value = "关联客户联系方式")
    @TableField("CustomerPhone")
    private String CustomerPhone;

    @ApiModelProperty(value = "订单价格")
    private Integer orderPrice;

    @ApiModelProperty(value = "外键生产线id")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer orderBylineId;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createdAt;

    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updatedAt;
    @ApiModelProperty(value = "产品生产数量")
    private Integer count;

    @ApiModelProperty(value = "劣质品数量")
    private Integer lowcount;

}
